import { expect, test } from 'vitest'
import { accounts } from '../../../test/src/constants.js'
import { signMessage } from '../../accounts/index.js'
import { parseErc6492Signature } from './parseErc6492Signature.js'

test('default', async () => {
  const signature = await signMessage({
    message: 'hello world',
    privateKey: accounts[0].privateKey,
  })

  expect(parseErc6492Signature(signature)).toEqual({
    signature,
  })

  expect(
    parseErc6492Signature(
      '0x000000000000000000000000cafebabecafebabecafebabecafebabecafebabe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004deadbeef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b000000000000000000000000000000000000000000000000000000000000006492649264926492649264926492649264926492649264926492649264926492',
    ),
  ).toMatchInlineSnapshot(`
    {
      "address": "0xCafEBAbECAFEbAbEcaFEbabECAfebAbEcAFEBaBe",
      "data": "0xdeadbeef",
      "signature": "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b",
    }
  `)
})
